#include "TADNombre.h"

#include <stdio.h>
#include <conio.h>
#include <string.h>

Nombre PedirNombre(){

	Nombre N;

	printf("\nIntroduzca el nombre : ");
	flushall();
	scanf("%[^\n]",N.NomPr);
	
	printf("\nIntroduzca el primer apellido : ");
	flushall();
	scanf("%[^\n]",N.PriApe);
	
	printf("\nIntroduzca el segundo apellido : ");
	flushall();
	scanf("%[^\n]",N.SegApe);


	return(N);
}

/*ombre GenerarNombre( char *N, char *Ap1, char *Ap2)
{
		Nombre N1;

		strcpy(N1.NomPr,N);
		strcpy(N1.PriApe,Ap1);
		strcpy(N1.SegApe,Ap2);
		return(N1);
}*/


void ModificarApe (Nombre *N, char Dato[],int NApe)
{
	if (NApe==1){
		strcpy(N->PriApe,Dato);
	}
	else
	{
		strcpy(N->SegApe,Dato);	
	}

}


int ComparaNombres (Nombre N1, Nombre N2)
{
	int Res1,Res2,Res3,Res;

	Res1=strcmp(strupr(N1.PriApe),strupr(N2.PriApe));
	Res2=strcmp(strupr(N1.SegApe),strupr(N2.SegApe));
	Res3=strcmp(strupr(N1.NomPr),strupr(N2.NomPr));
	if (Res1==0) {
		if  (Res2==0){
			if (Res3==0) Res=0;
			else 	if (Res3<0) Res=1;
				else Res=2;
		}
		else 	if(Res2<0) Res=1;
			else Res=2;
	}
	else 
		if (Res1<0)
			Res=1;
		else Res=2; 
	return(Res);

}

void VisualizaNombre(Nombre N)
{
 	printf("\nNombre: %s\nApellidos: %s %s",N.NomPr,N.PriApe,N.SegApe);
}

void modificarN (Nombre *N)
{
	Nombre N1;
	
	printf("\nIntroduzca el nuevo nombre y apellidos de la persona:\n");
	N1=PedirNombre();
	
	memset(N->NomPr,strlen(N->NomPr),' ');
	memset (N->PriApe,strlen(N->PriApe),' ');
	memset (N->SegApe,strlen(N->SegApe),' ');

	strcpy(N->NomPr,N1.NomPr);
	strcpy(N->PriApe,N1.PriApe);
	strcpy(N->SegApe,N1.SegApe);

}


void escribirNomFich(Nombre N,FILE *locfichero)
{
 	fprintf(locfichero,"%s %s %s ",N.NomPr,N.PriApe,N.SegApe);
}

void datosNomFich(Nombre *N,FILE *dir)
{
	fscanf(dir,"%s%[^ ]",N->NomPr);
	fscanf(dir,"%s%[^ ]",N->PriApe);
	fscanf(dir,"%s%[^ ]",N->SegApe);
}
